HAL I2S IRQ handler and callbacks functions migration

This section provides information about the HAL I2S control functions migration.

HAL I2S callbacks functions

Description

HAL1

HAL2

I2S transmit half complete callback

HAL_I2S_TxHalfCpltCallback(I2S_HandleTypeDef *hi2s);
HAL_I2S_TxHalfCpltCallback(hal_i2s_handle_t *hi2s);

I2S transmit complete callback

HAL_I2S_TxCpltCallback(I2S_HandleTypeDef *hi2s);
HAL_I2S_TxCpltCallback(hal_i2s_handle_t *hi2s);

I2S receive half complete callback

HAL_I2S_RxHalfCpltCallback(I2S_HandleTypeDef *hi2s);
HAL_I2S_RxHalfCpltCallback(hal_i2s_handle_t *hi2s);

I2S receive complete callback

HAL_I2S_RxCpltCallback(I2S_HandleTypeDef *hi2s);
HAL_I2S_RxCpltCallback(hal_i2s_handle_t *hi2s);

I2S transmit receive half complete callback

HAL_I2SEx_TxRxHalfCpltCallback(I2S_HandleTypeDef *hi2s);
HAL_I2S_TxRxHalfCpltCallback(hal_i2s_handle_t *hi2s);

I2S transmit receive complete callback

HAL_I2SEx_TxRxCpltCallback(I2S_HandleTypeDef *hi2s);
HAL_I2S_TxRxCpltCallback(hal_i2s_handle_t *hi2s);

I2S error callback

HAL_I2S_ErrorCallback(I2S_HandleTypeDef *hi2s);
HAL_I2S_ErrorCallback(hal_i2s_handle_t *hi2s);

HAL I2S callbacks register and unregister functions

Title

HAL1

HAL2

Register transmit complete callback

HAL_I2S_RegisterCallback(&i2s_handle,
                         HAL_I2S_TX_COMPLETE_CB_ID,
                         USER_I2S_TxCpltCallback);
HAL_I2S_RegisterTxCpltCallback(&i2s_handle,
                               USER_I2S_TxCpltCallback);

Register receive complete callback

HAL_I2S_RegisterCallback(&i2s_handle,
                         HAL_I2S_RX_COMPLETE_CB_ID,
                         USER_I2S_RxCpltCallback);
HAL_I2S_RegisterRxCpltCallback(&i2s_handle,
                               USER_I2S_RxCpltCallback);

Register transmit receive complete callback

HAL_I2S_RegisterCallback(&i2s_handle,
                         HAL_I2S_TX_RX_COMPLETE_CB_ID,
                         USER_I2SEx_TxRxCpltCallback);
HAL_I2S_RegisterTxRxCpltCallback(&i2s_handle,
                               USER_I2S_TxRxCpltCallback);

Register transmit half complete callback

HAL_I2S_RegisterCallback(&i2s_handle,
                         HAL_I2S_TX_HALF_COMPLETE_CB_ID,
                         USER_I2S_TxHalfCpltCallback);
HAL_I2S_RegisterTxHalfCpltCallback(&i2s_handle,
                               USER_I2S_TxHalfCpltCallback);

Register receive half complete callback

HAL_I2S_RegisterCallback(&i2s_handle,
                         HAL_I2S_RX_HALF_COMPLETE_CB_ID,
                         USER_I2S_RxHalfCpltCallback);
HAL_I2S_RegisterRxHalfCpltCallback(&i2s_handle,
                               USER_I2S_RxHalfCpltCallback);

Register transmit receive half complete callback

HAL_I2S_RegisterCallback(&i2s_handle,
                         HAL_I2S_TX_RX_HALF_COMPLETE_CB_ID,
                         USER_I2SEx_TxRxHalfCpltCallback);
HAL_I2S_RegisterTxRxHalfCpltCallback(&i2s_handle,
                               USER_I2S_TxRxHalfCpltCallback);

Register error callback

HAL_I2S_RegisterCallback(&i2s_handle,
                         HAL_I2S_ERROR_CB_ID,
                         USER_I2S_ErrorCallback);
HAL_I2S_RegisterErrorCallback(&i2s_handle,
                               USER_I2S_ErrorCallback);

Unregister transmit complete callback

HAL_I2S_UnRegisterCallback(&i2s_handle,
                           HAL_I2S_TX_COMPLETE_CB_ID);
HAL_I2S_RegisterTxCpltCallback(&i2s_handle,
                                      HAL_I2S_TxCpltCallback);

Unregister receive complete callback

HAL_I2S_UnRegisterCallback(&i2s_handle,
                           HAL_I2S_RX_COMPLETE_CB_ID);
HAL_I2S_RegisterTxCpltCallback(&i2s_handle,
                                      HAL_I2S_RxCpltCallback);

Unregister transmit half complete callback

HAL_I2S_UnRegisterCallback(&i2s_handle,
                           HAL_I2S_TX_HALF_COMPLETE_CB_ID);
HAL_I2S_RegisterTxHalfCpltCallback(&i2s_handle,
                                      HAL_I2S_TxHalfCpltCallback);

Unregister receive half complete callback

HAL_I2S_UnRegisterCallback(&i2s_handle,
                           HAL_I2S_RX_HALF_COMPLETE_CB_ID);
HAL_I2S_RegisterRxHalfCpltCallback(&i2s_handle,
                                      HAL_I2S_RxHalfCpltCallback);

Unregister transmit receive complete callback

HAL_I2S_UnRegisterCallback(&i2s_handle,
                           HAL_I2S_TX_RX_COMPLETE_CB_ID);
HAL_I2S_RegisterTxRxCpltCallback(&i2s_handle,
                                      HAL_I2S_TxRxCpltCallback);

Unregister transmit receive half complete callback

HAL_I2S_UnRegisterCallback(&i2s_handle,
                           HAL_I2S_TX_RX_HALF_COMPLETE_CB_ID);
HAL_I2S_RegisterTxRxHalfCpltCallback(&i2s_handle,
                                      HAL_I2S_TxRxHalfCpltCallback);

Unregister error callback

HAL_I2S_UnRegisterCallback(&i2s_handle,
                           HAL_I2S_ERROR_CB_ID);
HAL_I2S_RegisterErrorCallback(&i2s_handle,
                               HAL_I2S_ErrorCallback);

Related concept: Individual callback registration APIs replace global register and unregister functions


HAL I2S IRQ handler

Note

The function HAL_I2S_IRQHandler() has remained unchanged between HAL and HAL2.